package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.TAppBalance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TAppTransactionMapper;
import com.ruoyi.system.domain.TAppTransaction;
import com.ruoyi.system.service.ITAppTransactionService;

/**
 * 交易回单Service业务层处理
 *
 * @author ruoyi
 * @date 2025-04-23
 */
@Service
public class TAppTransactionServiceImpl implements ITAppTransactionService {
    @Autowired
    private TAppTransactionMapper tAppTransactionMapper;

    /**
     * 查询交易回单
     *
     * @param id 交易回单主键
     * @return 交易回单
     */
    @Override
    public TAppTransaction selectTAppTransactionById(Long id) {

        return tAppTransactionMapper.selectTAppTransactionById(id);
    }

    /**
     * 查询交易回单列表
     *
     * @param tAppTransaction 交易回单
     * @return 交易回单
     */
    @Override
    public List<TAppTransaction> selectTAppTransactionList(TAppTransaction tAppTransaction) {
        return tAppTransactionMapper.selectTAppTransactionList(tAppTransaction);
    }

    /**
     * 新增交易回单
     *
     * @param tAppTransaction 交易回单
     * @return 结果
     */
    @Override
    public int insertTAppTransaction(TAppTransaction tAppTransaction) {
        tAppTransaction.setCreateTime(DateUtils.getNowDate());
        return tAppTransactionMapper.insertTAppTransaction(tAppTransaction);
    }

    /**
     * 修改交易回单
     *
     * @param tAppTransaction 交易回单
     * @return 结果
     */
    @Override
    public int updateTAppTransaction(TAppTransaction tAppTransaction) {
        return tAppTransactionMapper.updateTAppTransaction(tAppTransaction);
    }

    /**
     * 批量删除交易回单
     *
     * @param ids 需要删除的交易回单主键
     * @return 结果
     */
    @Override
    public int deleteTAppTransactionByIds(Long[] ids) {
        return tAppTransactionMapper.deleteTAppTransactionByIds(ids);
    }

    /**
     * 删除交易回单信息
     *
     * @param id 交易回单主键
     * @return 结果
     */
    @Override
    public int deleteTAppTransactionById(Long id) {
        return tAppTransactionMapper.deleteTAppTransactionById(id);
    }

    @Override
    public int importTAppBalances(List<TAppTransaction> tAppTransactions) {
        if (StringUtils.isNull(tAppTransactions) || tAppTransactions.size() == 0) {
            throw new ServiceException("导入账户数据不能为空！");
        }
        for (TAppTransaction tAppTransaction : tAppTransactions) {
            tAppTransaction.setUpdateTime(DateUtils.getNowDate());
            tAppTransaction.setUserId(1001l);
            tAppTransactionMapper.insertTAppTransaction(tAppTransaction);
        }
        return tAppTransactions.size();
    }

    @Override
    public TAppTransaction getInfoById(Long id) {
        return tAppTransactionMapper.selectTAppTransactionInfoById(id);
    }
}
